Known 64-bit processors can execute 64-bit applications having 64-bit data types and 64-bit addressing. 32-bit applications typically have 32-bit data types and 32-bit addressing. Porting a 32-bit application into a 64-bit environment can result in errors when dealing with 32-bit numbers in a 64-bit environment. For example, a wrong address can be produced when a 32-bit address is incorrectly sign/zero extended. Incorrect content (e.g., an overflow value) can be introduced into the high-order 32 bits of a 64-bit data item when 32-bit data is moved within general purpose registers. An error can also be propagated when an operation (e.g., address generation, etc.) uses an erroneous interim result. In view of the foregoing, it can be appreciated that a substantial need exists for methods and apparatus which can advantageously support execution of 32-bit applications by a 64-bit microprocessor.